<template>
  <header class="header">
    <h1>todos</h1>
    <!-- 用v-model绑定输入框选中状态 -->
    <input id="toggle-all" class="toggle-all" type="checkbox" v-model="isAll" />
    <label for="toggle-all"></label>
    <input
      class="new-todo"
      placeholder="输入任务名称-回车确认"
      autofocus
      @keydown.enter="addFn"
      v-model="taskName"
    />
  </header>
</template>

<script>
export default {
  props: ["list"],
  data() {
    return {
      taskName: "",
    };
  },
  methods: {
    // 添加事件，需要进行数据子传父
    addFn() {
      // console.log(this.taskName);
      // 子组件调用父组件自定义函数，并传参过去
      // trim是字符串的方法，是把字符串两端空格去掉
      if (this.taskName.trim().length === 0) return alert("输入内容不能为空");
      this.$emit("addTask", this.taskName.trim());
      this.taskName = "";
    },
  },
  computed: {
    isAll: {
      set(val) {
        this.list.forEach((item) => (item.isDone = val));
      },
      get() {
        return this.list.every((item) => item.isDone);
      },
    },
  },
};
</script>